package com.tencreat.domain.mall;

import com.baomidou.mybatisplus.annotation.*;
import com.tencreat.common.annotation.Excel;
import com.tencreat.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;


/**
 * 购物车商品对象 mall_cart
 *
 * @author tencreat
 * @date 2021-08-19
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
@TableName("mall_cart")
public class MallCart extends BaseEntity<MallCart>{
    private static final long serialVersionUID = 1L;


    /** $column.columnComment */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "ID")
    private Long id;


    /** 用户表的用户ID */
    @Excel(name = "用户表的用户ID")
    @ApiModelProperty(value= "用户表的用户ID")
    @TableField("`user_uuid`")
    private Long userUuid;


    /** 商品表的商品ID */
    @Excel(name = "商品表的商品ID")
    @ApiModelProperty(value= "商品表的商品ID")
    @TableField("`goods_id`")
    private Long goodsId;


    /** 商品编号 */
    @Excel(name = "商品编号")
    @ApiModelProperty(value= "商品编号")
    @TableField("`goods_sn`")
    private String goodsSn;

    /** 规格ID */
    @Excel(name = "规格ID")
    @ApiModelProperty(value= "规格ID")
    @TableField("`norms_id`")
    private Long normsId;


    /** 商品名称 */
    @Excel(name = "商品名称")
    @ApiModelProperty(value= "商品名称")
    @TableField("`goods_name`")
    private String goodsName;


    /** 商品货品表的货品ID */
    @Excel(name = "商品货品表的货品ID")
    @ApiModelProperty(value= "商品货品表的货品ID")
    @TableField("`product_id`")
    private Long productId;


    /** 商品货品的价格 */
    @Excel(name = "商品货品的价格")
    @ApiModelProperty(value= "商品货品的价格")
    @TableField("`price`")
    private BigDecimal price;


    /** 商品货品的数量 */
    @Excel(name = "商品货品的数量")
    @ApiModelProperty(value= "商品货品的数量")
    @TableField("`number`")
    private Integer number;


    /** 商品规格值列表，采用JSON数组格式 */
    @Excel(name = "商品规格值列表，采用JSON数组格式")
    @ApiModelProperty(value= "商品规格值列表，采用JSON数组格式")
    @TableField("`specifications`")
    private String specifications;


    /** 购物车中商品是否选择状态 */
    @Excel(name = "购物车中商品是否选择状态")
    @ApiModelProperty(value= "购物车中商品是否选择状态")
    @TableField("`checked`")
    private Boolean checked;


    /** 商品图片或者商品货品图片 */
    @Excel(name = "商品图片或者商品货品图片")
    @ApiModelProperty(value= "商品图片或者商品货品图片")
    @TableField("`pic_url`")
    private String picUrl;


    /** 删除标志（0代表存在 2代表删除） */
    @TableLogic
    @TableField("`del_flag`")
    private String delFlag;

    /** 租户ID */
    @Excel(name = "租户ID")
    @ApiModelProperty(value= "租户ID")
    @TableField("`tenant_id`")
    private Long tenantId;


}
